if redis.call('exists',KEYS[1]) == 1 then
    local stock = tonumber(redis.call('HGET', KEYS[1], "stock"))
    if( stock <=0 ) then
         return -1
    end;
    -- 限购，用一个set来记录
    if redis.call('SISMEMBER', KEYS[2], ARGV[1]) == 1 then
       return -2
    else
       redis.call('SADD', KEYS[2], ARGV[1])
    end;
    redis.call('HINCRBY', KEYS[1], "stock", -1);
    return stock - 1;
end;
